Image center calibration for a quadric panoramic optical device

ABSTRACT

A calibration method can begin by positioning a calibration image source around and substantially proximate to the exterior surface of a panoramic optical device that utilizes a conical quadric reflector having an aperture in its apex. The calibration image source can be made of a material that is substantially transparent to allow the passage of environmental light and can utilize a predetermined color palette having a calibration feature, such as a geometric shape and/or a line, which is in a known location. A quadric image of the calibration image source can then be captured. Coordinates for a visual image center of the calibration image can be determined by an image center calibration program using the location of the calibration feature. The visual image center can be the point around which a quadric image is transformed into a visually-correct panorama. The determined visual image center coordinates can be stored.

BACKGROUND

The present invention relates to the panoramic optical device and, moreparticularly, to image center calibration for a quadric panoramicoptical device.

The use of panoramic optical devices (e.g., panoramic cameras) forbusiness and personal pursuits continues to increase. One-shot panoramicoptical devices, cameras specifically designed to capture a 360-degreeimage at one time or shot, are particularly suited for surveillancesituations or situations where the panoramic optical device will bepermanently installed at a location. As such, newer panoramic opticaldevices are often designed for extended use.

A longer intended life of the panoramic camera means that it is morelikely that the camera will be moved from one location to another and/orparts will need to be replaced. These changes to the actual panoramiccamera as well as other environmental stressors like wind and vibrationhave the potential to alter how the camera captures its images. Forexample, a misalignment of replaced part will change how light hits animage sensor component, resulting in a visually-incorrect panoramicimage. That is, misaligned components of the panoramic camera affect thevisual image center that is used to create the final panorama.

Calibrating the visual image center used by the panoramic camera is notan easy task and requires skills that the average user typically doesnot possess. The expense of the panoramic camera precludes a disposablenature. Therefore, these panoramic optical devices need a fairly simpleand substantially automated means for calibrating the visual imagecenter in order to continue to provide visually-correct panoramic imagesthroughout its intended life.

BRIEF SUMMARY

One aspect of the disclosure describes a method for calibrating apanoramic optical device for creating panoramic images. Such a methodcan begin by positioning a calibration image source around andsubstantially proximate to the exterior surface of a panoramic opticaldevice. The panoramic optical device can utilize a quadric reflectorhaving a conical shape and an aperture in its apex. The calibrationimage source can be made of a material that is substantially transparentso as to allow environmental light to pass through the calibration imagesource and can utilize a predetermined color palette. The surface of thecalibration image source that faces the panoramic optical device caninclude a calibration feature that is a geometric shape and/or a line.The calibration feature can be in a known location within thecalibration image source, and, therefore, the location of thecalibration feature is known within a captured image of the calibrationimage source. An image of the calibration image source can then becaptured by the panoramic optical device, producing a calibration imagein a quadric format. Coordinates for a visual image center of thecalibration image can be determined by an image center calibrationprogram using the location of the calibration feature contained in thecaptured calibration image. The visual image center can be the point inthe calibration image around which the quadric format is rotated andflattened into a visually-correct panoramic format. The visual imagecenter for images captured by the panoramic optical device can shiftover time as a result of installation/removal, repeated use, partsreplacement, and/or environmental stressors. The determined visual imagecenter coordinates can be stored for subsequent use to transformcaptured quadric images into panoramic images, replacing anypre-existing set of visual image center coordinates.

Another aspect of the disclosure describes a system for calibrating apanoramic optical device. Such a system can include a panoramic opticaldevice, a calibration image source, a set of image center coordinates,and an image center calibration software program. The panoramic opticaldevice can be configured to capture a panoramic image. The panoramicoptical device can further include a quadric reflector, a mirror, a setof one or more optical elements, and an image sensor. The quadricreflector can have a conical shape, which tapers from a wide base to anapex having an aperture. The mirror can be positioned within thepanoramic optical device in a plane approximately parallel to a circularcross-section of the quadric reflector to reflect environmental lightreflected by the quadric reflector into the aperture of the quadricreflector. The set of optical elements can be positioned at leastpartially within a volumetric region of the quadric reflector to focuslight passing through the aperture. The image sensor can convert anoptical image into an electronic signal. The optical image can resultfrom the environmental light reflecting off the quadric reflector,reflecting off the mirror, passing through the aperture, being focusedby the set of one or more optical elements, to be received by the imagesensor. The calibration image source can have a size and shape allowingcircumferential enclosure of an external space substantially proximateto the quadric reflector of the panoramic optical device. The panoramicoptical device can capture a calibration image of the calibration imagesource. The calibration image source can be made of a material that issubstantially transparent so as to allow environmental light to passthrough the calibration image source for reflection by the quadricreflector and can utilize a predetermined color palette. The surface ofthe calibration image source that faces the external surface of thequadric reflector can include a calibration feature that is a geometricshape and/or a line. The calibration feature can be in a known locationwithin the calibration image. The set of image center coordinates can bestored within a persistent memory of the panoramic optical device. Theset of image center coordinates can represent the visual center of thequadric image captured by the panoramic optical device and can be usedto transform the quadric image into a visually-correct panoramic image.The image center calibration software program can be configured toautomatically verify an accuracy of the set of image center coordinatesusing the calibration image captured from the calibration image source.

Yet another aspect of the present invention can include a computerprogram product that includes a computer readable storage medium havingembedded computer usable program code. The computer usable program codecan be configured to, upon receipt of a calibration image captured in aquadric format by a panoramic optical device that utilizes a quadricreflector having a conical shape and an aperture in its apex, determinecoordinates for a visual image center of the calibration image using alocation of a calibration feature contained in the captured calibrationimage. The visual image center can be the point in the calibration imagearound which the quadric format is rotated and flattened into avisually-correct panoramic format. The relationship between the locationof the calibration feature and the visual image center can be known. Thecalibration feature can be a geometric shape and/or a line. Thecalibration feature can be in a known location within a source of thecalibration image, and, therefore, the location of the calibrationfeature can be known within the calibration image. The computer usableprogram code can be configured to store the determined visual imagecenter coordinates for subsequent use to transform captured quadricimages into panoramic images, replacing a pre-existing set of visualimage center coordinates.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a functional block diagram illustrating a system forcalibrating a panoramic optical device in accordance with embodiments ofthe inventive arrangements disclosed herein.

FIG. 2 is a schematic diagram of a system depicting a detailed exampleembodiment of the calibration image source and the panoramic opticaldevice in accordance with embodiments of the disclosure.

FIG. 2A shows a calibrated image.

FIG. 2B shows a misaligned image.

FIG. 3 is a flow chart of a method describing the general calibrationprocess for the panoramic optical device in accordance with embodimentsof the disclosure.

FIG. 4 is a flow chart of a method detailing the operation of the imagecenter calibration program in accordance with embodiments of thedisclosure.

FIG. 5 is an illustrated flow chart of a method describing thecalculation of the visual image center coordinates using the aperturevoid as the calibration feature in accordance with embodiments of thedisclosure.

FIG. 6 is an illustrated flow chart of a method describing an alternatemeans for calculating the visual image center coordinates using astraight line as the calibration feature and a reference image inaccordance with embodiments of the disclosure.

DETAILED DESCRIPTION

The present disclosure is a solution for calibrating a panoramic opticaldevice. The panoramic device can utilize a quadric reflector (e.g., aparabolic, hyperbolic, or elliptical mirror) having an aperture withinits apex. Light is reflected off the quadric reflector to a mirror,which reflects the light through the aperture. An image sensor on anopposite side of the aperture from the mirror receives and processes thereflected light. A calibration image source can be positionedupon/around the panoramic optical device to allow capture of acalibration image. An image center calibration program can then use thecalibration image to determine coordinates for the visual image centerof the calibration image. The determined visual image center coordinatescan be used to transform images from the original quadric format intothe panoramic format.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing. Computer program code for carrying out operations foraspects of the present invention may be written in any combination ofone or more programming languages, including an object orientedprogramming language such as Java, Smalltalk, C++ or the like andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The program codemay execute entirely on a client device, partly on the client device, asa stand-alone software package, partly on the client device and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the clientdevice through any type of network, including a local area network (LAN)or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

FIG. 1 is a functional block diagram illustrating a system 100 forcalibrating a panoramic optical device 110 in accordance withembodiments of the inventive arrangements disclosed herein. In system100, the panoramic optical device 110 can be calibrated using acalibration image source 102.

The calibration image source 102 can represent a variety of prepared orapproved items that can be used in conjunction with the panoramicoptical device 110 for calibration purposes. The specific embodiment ofthe calibration image source 102 used can be based upon thecorresponding embodiment and/or type of panoramic optical device 110.That is, the size, shape, and material of the calibration image source102 can be such to work with the specific panoramic optical device 110.Further, the calibration image source 102 can utilize a known colorpalette (i.e., black and white).

For example, the calibration image source 102 can be meant to encompassthe panoramic optical device 110 so a calibration image (not shown) canbe captured. Therefore, the calibration image source 102 can be designedto properly encapsulate the image capturing portion of the panoramicoptical device 110 and to allow the passage of enough light for imagecapture.

The calibration image source 102 can include one or more calibrationfeatures 105. A calibration feature 105 can be a geometric shape and/orline. The location, or a key location indicator (e.g., equation of theline, vertical boundaries of the shape, etc.) of the calibration feature105 within the calibration image source 102 can be known.

It should be noted that, while system 100 and the Figures discuss aquadric-type panoramic optical device 110, other types of panoramicoptical devices 110 can be used in conjunction with the techniquestaught herein with minor modification and without departing from thespirit of the present invention.

The panoramic optical device 110 can be an electronic device configuredto capture a 360-degree image of the surrounding area. The panoramicoptical device 110 may be implemented as a stand-alone device or as aperipheral device. The panoramic optical device 110 can have a varietyof configurations that utilize different sets of components. Therefore,the panoramic optical device 110 shown in system 100 can be meant tohighlight those elements of particular note for the present invention.

The panoramic optical device 110 can include a quadric reflector 115, amirror 120, a set of optical elements 125, a computing component 130, animage sensor 140, a connector 145, and memory 150 to store image centercoordinates 155. The quadric reflector 115 can be a reflective conicalsurface, which may be a parabolic surface, a hyperbolic surface, ahemispherical surface, or an elliptic surface. The quadric reflector 115can be the surface that reflects environmental light into the mirror120.

The mirror 120 can be used to reflect the light into the opticalelements 125. The optical elements 125 can represent a variety ofcomponents that focus the reflected light onto the image sensor 140. Amisalignment of one or more optical elements 125 can result in the lighthitting the image sensor 140 “off-center”, which results in a panoramicimage that is visually-incorrect (i.e., warped, twisted, incongruent,etc.). A user of the panoramic optical device 110 would not be aware ofthe misalignment until images were viewed. Further, rectifying themisalignment would require manually identifying the misaligned opticalelement 125 and adjusting the seating of that element 125; tasks thatcan exceed the capabilities of the typical user as well as be verytime-consuming for a skilled technician.

The optical elements 125 may also filter undesired optical wavelengths,correct for color aberrations that would otherwise cause differentcolors to focus at different planes and positions, and/or ensure despitedistortions from the quadric reflector 115 that the optical imagesubstantially lays on a flat focal plane. In one embodiment, positiveelements of the optical elements 125 can be made from polymethylmethacrylate (PMMA, or acrylic), other transparent thermoplastic, glass,or other suitable substances. Negative ones of the optical elements 125can be made of polycarbonate, other thermoplastic polymers, or othersuitable substances.

The image sensor 140 can be the component that converts an optical imageinto an electronic signal. Any of a variety of technologies can be forthe image sensor 140 including, but not limited to, semiconductorcharge-coupled devices (CCD), active pixel sensors in complementarymetal-oxide-semiconductor (CMOS), and N-type metal-oxide-semiconductor(NMOS, Live MOS) technologies.

Connector 145 can represent a means for electronically coupling thepanoramic optical device 110 to another electronic device or component.Multiple connectors 145 can be used to support multiple types ofconnections.

The computing component 130 can represent the hardware and softwarerequired to store and execute machine-readable instructions. Thecomputing component 130 can include one or more processors 134, theimage center calibration software program 132, herein referred to as theimage center calibration program 132, and a panorama generator 136software program. In other contemplated embodiments, the computingcomponent 130 can include support for user input elements (e.g.,buttons, a touch-screen, a microphone for receiving voice input, anon/off switch), user output elements (e.g., a small screen, statusbuttons, power level indicator, etc.), and a network transceiver orother communication component (such as a communication bus).

The processor 134 can be the hardware and/or software elements requiredto execute the image center calibration program 132 and panoramagenerator 136. The processor 134 can be such to adequately supportexecution of these programs 132 and 136.

The image center calibration program 132 can be a software programdesigned to analyze an image captured of the calibration image source102 to determine its visual image center. The image center calibrationprogram 132 can eliminate the need for manual adjustment of themisaligned optical elements 125, in cases where the deviation of thevisual image center is within a correctable threshold. When necessary,the image center calibration program 132 can replace the image centercoordinates 155 currently stored within non-volatile (i.e., persistent)memory 150. The image center calibration program 132 can be written in aprogramming language appropriate for the processor 134 and storagerequirements of the computing component 130.

The panorama generator 136 can be a software program that transforms thecaptured image into a panorama based upon the image center coordinates155. The panoramic optical device 110 of system 100 can capture imagesin a quadric format due to the surface shape of the quadric reflector115. The image center coordinates 155 can, therefore, represent thepoint around which the quadric format is rotated and flattened (i.e.,unraveled) into a panorama, as is known in the Art.

In another embodiment, the computing component 130 can be a secondarydevice coupled to the panoramic optical device 110 via the connector145. In yet another embodiment, memory 150 can be an element of thecomputing component 130 and can store the machine-readable instructionsof the image center calibration program 132 and/or panorama generator136.

FIG. 2 is a schematic diagram of a system 200 depicting a detailedexample embodiment of the calibration image source 205 and the panoramicoptical device 210 in accordance with embodiments of the disclosure. Asshown in system 200, the calibration image source 205 can be a tubecapable of being placed over/around the image capturing portion of thepanoramic optical device 210. In other embodiments, particularly wheregravity or other environmental factors can affect placement of thecalibration image source 205, the calibration image source 205 and/orpanoramic optical device 210 can also include a means for securing thecalibration image source 205 during the calibration process like a snapor latch.

The panoramic optical device 210 can be a unit whose components areenclosed by a spacer 214 and a base 218. The base 218 can be made of asuitably durable material and can be used to install the panoramicoptical device 210 at a specific location. Connected to the base can bethe spacer 214 that is made of a suitable transparent material. Thespacer 214 can surround the quadric reflector 216 and the mirror 212.The spacer 214 can support the mirror 212 in a position substantiallyparallel to the cross-section of the quadric reflector 216 at a distancethat ensures light reflected by the quadric reflector 216 is reflectedoff the mirror 212 and into an aperture 220 in the quadric reflector216.

The quadric reflector 216 can be a non-degenerate real quadratic surfacethat tapers from a wide base towards an apex, where the aperture 220 ispositioned. Light can be reflected off of the mirror 212, through theaperture 220 to the optical elements 222. The column of optical elements222 can manipulate and focus the light upon the image sensor 224.

In this example embodiment, connector 226 can couple the image sensor224 with an external computing device 230. The computing device 230 caninclude a processor 235 and memory 240 storing the image centercoordinates 242 and software programs 244. In another embodiment,computing device 230 can be housed within the base 218 of the panoramicoptical device 210.

With the calibration image source 205 affixed, the panoramic opticaldevice 210 can capture an image. This captured image can be in a quadricformat and can look like one of the images 250 and 270 shown in FIGS. 2Aand 2B. When the components (mirror 212, quadric reflector 216, andoptical elements 222) of the panoramic optical device 210 are properlyaligned and/or calibrated, the panoramic optical device 210 can capturea calibrated image 250, as shown in FIG. 2A.

In a calibrated image 250, the image contents 260 (i.e., theenvironmental features) can appear in an exaggerated, circular formatthat is in accordance with the specific quadric surface of the quadricreflector 216. A circular “blank” space can exist in the center of theimage contents 260 that can correspond to the aperture void 255. Thatis, the aperture 220 in the surface of the quadric reflector 216translates as a corresponding void 255 in the calibrated image 250.

Because the panoramic optical device 210 has been calibrated, the visualcenter 264 of the image contents 260 can be aligned with the imagesensor center 262. The image sensor center 262 can be the point in thecalibrated image that corresponds to the physical center of the imagesensor 224. Ideally, the image sensor center 262 should be the visualcenter 264. The visual center 264 can be a general reference to theimage center coordinates 242. Thus, the visual center 264 is the pointof the calibrated image 250 that produces a visually-correct panorama.

Since the panoramic optical device 210 is comprised of manyhigh-precision components, changes in the alignment of these componentsover time can naturally occur due to environmental factors like wind andvibration or can be inadvertently introduced through parts replacement,use, or damage. Over time, therefore, the calibrated image 250 canbecome the misaligned image 270 of FIG. 2B.

Visually, the calibrated image 250 and the misaligned image 270 can lookidentical. Both images 250 and 270 can have circular image contents 260and 280 having a central aperture void 255 and 275. The visual center264 and 284 of each image 250 and 270 can be in the center of theaperture void 255 and 275. However, in the misaligned image 270, theimage sensor center 282 can be out of alignment with the visual center284. This can be of great importance as the image sensor center 282 istypically used when transforming a quadric image into its correspondingpanorama. Thus, a panorama created from the misaligned image 270 can bevisually unappealing; the image contents 280 can be warped andincongruent. The image center calibration program can be used to resolvethe misalignment of the image sensor center 282 with the visual center284 of the misaligned image 270.

FIG. 3 is a flow chart of a method 300 describing the generalcalibration process for the panoramic optical device in accordance withembodiments of the disclosure. Method 300 can be performed within thecontext of systems 100 and/or 200.

Method 300 can begin in step 305, where the user can position thecalibration image source upon the panoramic optical device. Step 305,when applicable, can include securing the calibration image source tothe panoramic optical device. The user can activate the image centercalibration program in step 310.

In step 315, the image center calibration program can trigger thepanoramic optical device to capture an image of the calibration imagesource, herein referred to as a calibration image. The image centercalibration program can determine the visual image center in step 320.In step 325, the image center calibration program can store thecoordinates of the visual image center for use by the panoramic opticaldevice.

The user can remove the calibration image source from the panoramicoptical device, upon completion of the image center calibration program,in step 330. In step 335, the user can then proceed to use the panoramicoptical device to produce panoramic images.

FIG. 4 is a flow chart of a method 400 detailing the operation of theimage center calibration program in accordance with embodiments of thedisclosure. Method 400 can be performed within the context of systems100 and/or 200.

Method 400 can begin in step 405 wherein the image center calibrationprogram can receive the calibration image. The calibration image can beprocessed for use in step 410. Step 410 can enhance the appearance ofthe calibration feature in the calibration image.

As such, step 410 can be comprised of step 412 that applies a blurfunction to the calibration image. Application of a blur function instep 412 can help to remove small and/or inconsequential artifacts fromthe calibration image. These artifacts can be items introduced by theenvironment like dust, shadows, or imperfections in the calibrationimage source due to breakage, dirtiness, or misalignment.

After application of the blur function, the color value of each pixelcan be adjusted to predetermined thresholds in step 414. As previouslymentioned, the calibration image source can utilize a known colorpalette. Step 414 can, essentially, enforce adherence to that colorpalette. For example, with a calibration image source having a black andwhite color palette, step 414 can change grey pixels to either black orwhite, depending on their color value (i.e., darker grey pixels are setto black, light grey to white).

Once the calibration image has been processed for use, the location ofthe calibration feature can be identified within the calibration imagein step 420. In step 425, the coordinates for the visual image center ofthe calibration image can be calculated based upon the location of theidentified calibration feature. The approach used to perform step 425can vary based upon the calibration feature used.

FIG. 5 is an illustrated flow chart of a method 500 describing thecalculation of the visual image center coordinates using the aperturevoid 525 as the calibration feature in accordance with embodiments ofthe disclosure. Method 500 can represent a specific embodiment of step425 of method 400.

Method 500 can begin in step 505 where three lines 530 can be drawn fromthe outer edges of the calibration image 522 to the edge of the aperturevoid 525, as shown in illustration 520. The coordinate values 540 whereeach line 530 intersects the edge of the aperture void 525 can beidentified in step 510 and presented in illustration 535. In step 515,the coordinates for the center of the aperture void 525 can becalculated using the identified coordinates 540 and the correspondingset of linear equations shown in illustration 545.

FIG. 6 is an illustrated flow chart of a method 600 describing analternate means for calculating the visual image center coordinatesusing a straight line 644 as the calibration feature and a referenceimage 680 in accordance with embodiments of the disclosure. Method 600can represent a specific embodiment of step 425 of method 400.

Method 600 can begin with step 605 where the calibration image 640 canbe transformed into a panoramic image 670 using the current set of imagecenter coordinates 646, as shown in illustration 635. In illustration635, the calibration image 640 can use a straight line calibrationfeature 644, which can look like a circle or ellipse in the quadricformat. The current set of image center coordinates 646 can beoff-center from the aperture void 642. This can result in thecalibration feature 644 appearing as a curve 672 in the transformedpanoramic image 670.

As shown in illustration 675 and described in step 610, the transformedcalibration image 670 can be compared with a stored reference image 680.The reference image 680 can show that the calibration feature 644 as itsexpected straight line. It can be determined if the calibration image670 matches the reference image 680 in step 615.

When the calibration 670 and reference 680 images match, step 630 can beperformed where no further action is needed by the image centercalibration program. When the calibration image 670 does not match thereference image 680, step 620 can execute where value differences 692for the current image center coordinates 646 can be determined that willstraighten the calibration feature 644. As shown in illustration 685,one or more mathematical operations 690 can be performed upon thecalibration feature 644 to obtain the values 692 to modify the imagecenter coordinates 646.

Upon completion of step 620, the current image center coordinates 646can be modified with the determined value differences 692 in step 625.From step 625, flow of method 600 can return to step 605 to re-processthe calibration image 640 with the modified set of image centercoordinates to verify the accuracy of the modifications.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

What is claimed is:
 1. A method comprising: positioning of a calibrationimage source around and proximate to an exterior surface of a panoramicoptical device that utilizes a quadric reflector having a conical shapeand an aperture in its apex, wherein the calibration image source ismade of a material that is substantially transparent so as to allowenvironmental light to pass through the calibration image source andutilize a predetermined color palette, wherein a surface of thecalibration image source that faces the panoramic optical deviceincludes a calibration feature, wherein the calibration featurecomprises at least one of a geometric shape and a line, wherein thecalibration feature is in a known location within the calibration imagesource, and, therefore, the location of the calibration feature is knownwithin a captured image of the calibration image source; capturing of animage of the calibration image source by the panoramic optical device,wherein the captured image is a calibration image in a quadric format;determining of coordinates for a visual image center of the calibrationimage using the location of the calibration feature contained in thecaptured calibration image by an image center calibration program,wherein the visual image center is a point in the calibration imagearound which the quadric format is rotated and flattened into avisually-correct panoramic format, wherein the visual image center forimages captured by the panoramic optical device shifts over time as aresult of at least one of installation/removal, repeated use, partsreplacement, and environmental stressors; and storing the determinedvisual image center coordinates for subsequent use to transform capturedquadric images into panoramic images, wherein a pre-existing set ofvisual image center coordinates is replaced.
 2. The method of claim 1,further comprising: removing of the calibration image source from theposition around and proximate to the exterior surface of the panoramicoptical device, wherein the panoramic optical device is ready forgeneral use.
 3. The method of claim 1, wherein determining thecoordinates of the visual image center further comprises: performing atleast one image processing function upon the calibration image toenhance an appearance of the calibration feature; identifying thelocation of the calibration feature within the calibration image;comparing the identified location of the calibration feature with theknown location of the calibration feature; and when the identifiedlocation varies from the known location by more than a predeterminedthreshold, calculating the coordinates of the visual image center of thecalibration image using a relationship between the known location of thecalibration feature and the visual image center.
 4. The method of claim3, wherein the at least one image processing function comprises at leastone of a filtering function, a color adjustment function, a maskingfunction, an edge detection function, a smoothing function, anequalization function, and a gamma correction function.
 5. The method ofclaim 3, wherein, when the calibration feature is a circular voidcreated by the aperture in the quadric reflector of the panoramicoptical device, the comparing of the identified location is omitted andthe calculating of the visual image center coordinates furthercomprises: drawing three distinct straight lines from outer edges of thecalibration image to an edge of the circular void; identifying a set ofcoordinate values for each straight line where each straight linetouches the edge of the circular void, wherein each set of coordinatevalues lies upon a circumference of the circular void; generating a setof three linear equations, wherein each linear equation represents acorresponding set of identified coordinate values, wherein each linearequation is of a format(x−h)²+(y−k)² =r ², wherein x and y correspond to the set of identifiedcoordinate values, h and k represent coordinates for a center point ofthe circular void, and r is a radius of the circular void; and solvingthe set of three linear equations to produce values for the center pointof the circular void, h and k, wherein the center point of the circularvoid is the visual image center.
 6. The method of claim 3, wherein,prior to the performing of the at least one image processing function,said method further comprises: transforming the calibration image fromthe quadric format into the panoramic format, wherein the comparing ofthe identified location of the calibration feature further comprises:accessing a reference image for the calibration image source, whereinthe reference image is an image depicting the known location of thecalibration feature; and overlaying the calibration image upon thereference image.
 7. The method of claim 6, wherein the calculating ofthe coordinates further comprises: from the overlay of the calibrationimage upon the reference image, determining a difference in value for anx-coordinate and a y-coordinate of the calibration feature, wherein saidvalue differences, when applied to the corresponding coordinates of thevisual image center, result in an alignment of the calibration featurein the calibration image with the calibration feature in the referenceimage.
 8. A system for calibrating a panoramic optical devicecomprising: a panoramic optical device configured to capture a panoramicimage, said panoramic optical device further comprising: a quadricreflector having a conical shape, which tapers from a wide base to anapex, said apex comprising an aperture; a mirror positioned within thepanoramic optical device in a plane parallel to a circular cross sectionof the conical shape, said mirror reflecting environmental light that isreflected by the quadric reflector into the aperture; a set of one ormore optical elements positioned at least partially within a volumetricregion of the quadric reflector, said one or more optical elementsfocusing light passing through the aperture; an image sensor forconverting an optical image into an electronic signal, said opticalimage resulting from the environmental light reflecting off the quadricreflector, reflecting off the mirror, passing through the aperture,being focused by the set of one or more optical elements, to be receivedby the image sensor; a calibration image source having a size and shapeallowing circumferential enclosure of an external space proximate to thequadric reflector of the panoramic optical device, wherein the panoramicoptical device is able to capture a calibration image of the calibrationimage source, wherein the calibration image source is made of a materialthat is substantially transparent so as to allow environmental light topass through the calibration image source for reflection by the quadricreflector and utilizes a predetermined color palette, wherein a surfaceof the calibration image source that faces an external surface of thequadric reflector includes a calibration feature, wherein thecalibration feature comprises at least one of a geometric shape and aline, wherein the calibration feature is in a known location within thecalibration image; a set of image center coordinates stored within apersistent memory of the panoramic optical device, wherein said set ofimage center coordinates represent a visual center of a quadric imagecaptured by the panoramic optical device, wherein the set of imagecenter coordinates are used to transform the quadric image into avisually-correct panoramic image; and an image center calibrationsoftware program configured to automatically verify an accuracy of theset of image center coordinates using the calibration image capturedfrom the calibration image source.
 9. The system of claim 8, wherein,when the image center calibration program is externally-located from thepanoramic optical device, said system further comprising: a computingdevice configured to store and execute the image center calibrationprogram, wherein said computing device is communicatively connected tothe panoramic optical device.
 10. The system of claim 8, wherein thepanoramic optical device further comprises: a computing componentconfigured to execute the image center calibration program, wherein saidimage center calibration program is stored within the persistent memoryof the panoramic optical device.
 11. The system of claim 8, wherein thecalibration feature is a circular void created by the aperture in thequadric reflector of the panoramic optical device.
 12. The system ofclaim 8, wherein, when the calibration feature is a line defined by aknown equation.
 13. The system of claim 12, further comprising: areference image of the calibration image source accessible by the imagecenter calibration software program, wherein the reference imagegraphically depicts the line, wherein the image center calibrationsoftware program tests a linearity of the line in the capturedcalibration image against the line depicted in the reference image. 14.The system of claim 8, wherein the material comprising the calibrationimage source is one of plastic, acrylic, paper, glass, styrofoam, nylon,polycarbonate, and resin.
 15. The system of claim 8, further comprising:at least one image processing algorithm configured to perform an imageprocessing function upon the calibration image, wherein the imageprocessing function comprises one of a filtering function, a coloradjustment function, a masking function, an edge detection function, asmoothing function, an equalization function, and a gamma correctionfunction.
 16. A computer program product comprising a non-transitorycomputer readable storage medium having computer usable program codeembodied therewith, the computer usable program code comprising:computer usable program code configured to, upon receipt of acalibration image captured in a quadric format by a panoramic opticaldevice that utilizes a quadric reflector having a conical shape and anaperture in its apex, determine coordinates for a visual image center ofthe calibration image using a location of a calibration featurecontained in the captured calibration image, wherein the visual imagecenter is a point in the calibration image around which the quadricformat is rotated and flattened into a visually-correct panoramicformat, wherein a relationship between the location of the calibrationfeature and the visual image center is known, wherein the calibrationfeature comprises at least one of a geometric shape and a line, whereinthe calibration feature is in a known location within a source of thecalibration image, and, therefore, the location of the calibrationfeature is known within the calibration image; and computer usableprogram code configured to store the determined visual image centercoordinates for subsequent use to transform captured quadric images intopanoramic images, wherein a pre-existing set of visual image centercoordinates is replaced.
 17. The computer program product of claim 16,wherein determining the coordinates of the visual image center furthercomprises: computer usable program code configured to perform at leastone image processing function upon the calibration image to enhance anappearance of the calibration feature; computer usable program codeconfigured to identify the location of the calibration feature withinthe calibration image; computer usable program code configured tocompare the identified location of the calibration feature with theknown location of the calibration feature; and computer usable programcode configured to, when the identified location varies from the knownlocation by more than a predetermined threshold, calculate thecoordinates of the visual image center of the calibration image usingthe relationship between the known position of the calibration featureand the visual image center.
 18. The computer program product of claim17, wherein, when the calibration feature is a circular void created bythe aperture in the quadric reflector of the panoramic optical device,the comparing of the identified location is omitted and the calculatingof the visual image center coordinates further comprises: computerusable program code configured to draw three distinct straight linesfrom outer edges of the calibration image to an edge of the circularvoid; computer usable program code configured to identify a set ofcoordinate values for each straight line where each straight linetouches the edge of the circular void, wherein each set of coordinatevalues lies upon a circumference of the circular void; computer usableprogram code configured to generate a set of three linear equations,wherein each linear equation represents a corresponding set ofidentified coordinate values, wherein each linear equation is of aformat(x−h)²+(y−k)² =r ², wherein x and y correspond to the set of identifiedcoordinate values, h and k represent coordinates for a center point ofthe circular void, and r is a radius of the circular void; and computerusable program code configured to solve the set of three linearequations to produce values for the center point of the circular void, hand k, wherein the center point of the circular void is the visual imagecenter.
 19. The computer program product of claim 17, wherein, prior tothe performing of the at least one image processing function, saidcomputer program product further comprises: computer usable program codeconfigured to transform the calibration image from the quadric formatinto the panoramic format, wherein the comparing of the identifiedlocation of the calibration feature further comprises: computer usableprogram code configured to access a reference image for the calibrationimage, wherein the reference image is an image depicting the knownlocation of the calibration feature; and computer usable program codeconfigured to overlay the calibration image upon the reference image.20. The computer program product of claim 19, wherein the calculating ofthe coordinates further comprises: computer usable program codeconfigured to, from the overlay of the calibration image upon thereference image, determine a difference in value for an x-coordinate anda y-coordinate of the calibration feature, wherein said valuedifferences, when applied to the corresponding coordinates of the visualimage center, result in an alignment of the calibration feature in thecalibration image with the calibration feature in the reference image.